Florian Müllner [Fri, 25 Sep 2020 14:43:24 +0000 (16:43 +0200)]
buildable: Rename set_name() to set_buildable_id()
GtkBuildable's get_name()/set_name() methods may shadow
GtkWidget's methods. Avoid that by renaming the API to
get_buildable_id()/set_buildable_id(), which also reflects
the name of the XML attribute the API refers to.
https://gitlab.gnome.org/GNOME/gtk/-/issues/3191
Matthias Clasen [Fri, 25 Sep 2020 18:25:09 +0000 (18:25 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
columnview: Simplify column constructors
See merge request GNOME/gtk!2622
Matthias Clasen [Fri, 25 Sep 2020 17:53:42 +0000 (13:53 -0400)]
columnview: Simplify column constructors
Drop gtk_column_view_column_new_with_factory and
just make gtk_column_view_column_new accept a
nullable factory. This follows what we've been
doing elsewhere.
Update all callers.
Matthias Clasen [Fri, 25 Sep 2020 17:49:59 +0000 (17:49 +0000)]
Merge branch 'wip/carlosg/for-master' into 'master'
Wip/carlosg/for master
Closes #3125 and #3121
See merge request GNOME/gtk!2621
Carlos Garnacho [Fri, 25 Sep 2020 17:15:29 +0000 (19:15 +0200)]
gtkbutton: Clean up priv->in_button
This is now only toggled around, may be cleaned up.
Carlos Garnacho [Fri, 25 Sep 2020 17:10:46 +0000 (19:10 +0200)]
gtkbutton: Check release coordinates on all release event types
The priv->in_button state that used to be relied upon for pointer
events has been reduced over time to a broken state, since the button
does not track crossing events anymore.
Make the coordinate-based checks apply for pointer events too, besides
touch events. This fixes GtkButton mistakenly emitting ::clicked with
pointer button releases outside the widget.
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/3121
Carlos Garnacho [Fri, 25 Sep 2020 15:50:04 +0000 (17:50 +0200)]
gtktextview: Avoid GtkGestureClick claiming on touch press
We still want the drag gesture (and text selection) to work. Avoid claiming
the gesture early, like it's done in the pointer case.
Carlos Garnacho [Fri, 25 Sep 2020 15:47:26 +0000 (17:47 +0200)]
gtkscrolledwindow: Do not eagerly claim touch press event
Claiming early makes the contents unable to react to the touch press
event. Do this on GtkGestureDrag::update past a threshold, so the
child widget(s) can claim before the scrolledwindow does.
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/3125
Carlos Garnacho [Fri, 25 Sep 2020 15:23:00 +0000 (17:23 +0200)]
gtkscrolledwindow: Drop gtk_scrolled_window_set_capture_button_press()
This API is kinda stuck in the GdkEvent days, we now negotiate ownership
of the input sequence via GtkGestures. Remove it as it reflects a way to
work that was not exactly accurate and it will turn plainly wrong soon.
Matthias Clasen [Fri, 25 Sep 2020 14:53:19 +0000 (14:53 +0000)]
Merge branch 'gles-texture-colors' into 'master'
Fix uploads of textures in GLES (and make texture uploads better)
See merge request GNOME/gtk!2616
Timm Bäder [Fri, 25 Sep 2020 13:35:20 +0000 (13:35 +0000)]
Merge branch 'wip/baedert/for-master' into 'master'
Wip/baedert/for master
See merge request GNOME/gtk!2617
Alexander Larsson [Fri, 25 Sep 2020 08:08:21 +0000 (10:08 +0200)]
Drop gdk_cairo_surface_upload_to_gl() helper
There is nothing really special about this code, its just a helper for
uploading pixel data to opengl, and we're not really in the business
of doing opengl-specific helper functions.
Alexander Larsson [Thu, 24 Sep 2020 14:58:46 +0000 (16:58 +0200)]
gl backend: Avoid roundtripping via surface when updloading
Do custom uploads rather than using gdk_cairo_surface_upload_to_gl(),
because this way we avoids a roundtrip (memcpy and possibly conversion)
to the cairo image surface format.
Alexander Larsson [Thu, 24 Sep 2020 15:01:04 +0000 (17:01 +0200)]
gdk_gl_context_upload_texture() avoid conversion for pixbuf format
The gdk-pixbuf non-rgba format can be directly uploaded without
conversion.
The rgba format needs alpha premultiplication though, which is not
supported by GL during upload.
Alexander Larsson [Thu, 24 Sep 2020 13:03:48 +0000 (15:03 +0200)]
Correctly upload textures for GLES
GLES doesn't support the GL_BGRA + GL_UNSIGNED_INT_24_8 hack that
we use on desktop OpenGL to upload textures directly in the cairo
pixel format. This adds the required conversions to all the places
that currently need it.
We also add a data_format to the internal gdk_gl_context_upload_texture()
function to make it clearer what the format are. Currently it is always
the cairo image surface format, but eventually we want to support other
formats so that we can avoid some of the unnecessary conversions we do.
Also, the current gdk_gl_context_upload_texture() code always converts
to a cairo format and uploads that like we did before. Later commits
will allow this to use other upload formats that gl supports to avoid
conversions.
Alexander Larsson [Thu, 24 Sep 2020 13:01:51 +0000 (15:01 +0200)]
Add GDK_MEMORY_R8G8B8A8_PREMULTIPLIED
This is the default OpenGL format, and in fact the only pixel format
that GLES supports uploading as. Actually, the premultiplied part is
really just about how we use the textures, but all textures in GTK
are premultiplied.
Alexander Larsson [Thu, 24 Sep 2020 13:40:17 +0000 (15:40 +0200)]
texture: Unvirtualize download_surface
We only have one implementation, so why do all this vfunc work?
Matthias Clasen [Thu, 24 Sep 2020 18:50:26 +0000 (18:50 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
Closes #3180, #3178, and #3179
See merge request GNOME/gtk!2618
Matthias Clasen [Thu, 24 Sep 2020 18:30:40 +0000 (14:30 -0400)]
columview: Don't overdraw
Just always tell the title and cell widgets to
clip their children to the right size. Otherwise
we risk things getting out of sync and unintended
overdraw.
Fixes: #3179
Matthias Clasen [Thu, 24 Sep 2020 18:18:38 +0000 (14:18 -0400)]
columview: Fix column resizing
We were not handling the fixed_width quite right,
and that was causing screaming from the GTK size
allocation machinery.
Fixes: #3178
Timm Bäder [Wed, 23 Sep 2020 04:15:08 +0000 (06:15 +0200)]
cssimagefallback: Whitespace
Timm Bäder [Wed, 23 Sep 2020 04:06:42 +0000 (06:06 +0200)]
cssimagefallback: Avoid allocating GPtrArray for colors
If we just parse a color, like image(#FFF), avoid allocating the
GPtrArray to store images. This happens in Adwaita for background images
of backdrop buttons. We save around 70 GPtrArrays this way.
Timm Bäder [Wed, 23 Sep 2020 03:58:40 +0000 (05:58 +0200)]
Adwaita: Fix calendar header button backdrop bg color
Timm Bäder [Mon, 21 Sep 2020 19:23:57 +0000 (21:23 +0200)]
gl renderer: Lower maximum gradient stop count
6 is still plenty according to my market research.
Should help with #2624
Timm Bäder [Mon, 21 Sep 2020 19:19:19 +0000 (21:19 +0200)]
gl renderer: Fall back to cairo if gradients use too many stops
Timm Bäder [Sat, 19 Sep 2020 16:41:10 +0000 (18:41 +0200)]
textbuffer: Don't try to inset NULL text from clipboard
That used to generate a critical error message.
Also free() the data.
Timm Bäder [Sat, 19 Sep 2020 16:37:53 +0000 (18:37 +0200)]
gl renderer: Only return error if creating programs failed
Timm Bäder [Sat, 19 Sep 2020 16:16:04 +0000 (18:16 +0200)]
gl renderer: Use scale_x/y when rendering clipped nodes
Timm Bäder [Sat, 19 Sep 2020 16:13:00 +0000 (18:13 +0200)]
gl renderer: Don't use ops_get_scale() when rendering clip nodes
Differentiate between scale_x and scale_y. This works better for e.g.
transform nodes using scaleX().
Timm Bäder [Sat, 19 Sep 2020 15:56:25 +0000 (17:56 +0200)]
gl renderer: Support scaleX/Y better when rendering radial gradients
We should do this everywhere, but this is a start.
Matthias Clasen [Thu, 24 Sep 2020 02:53:21 +0000 (22:53 -0400)]
listview: Avoid a critical when reordering
When sorting a cell into the place its already at,
we were triggering criticals. Avoid that.
Fixes: #3180
Matthias Clasen [Wed, 23 Sep 2020 22:44:22 +0000 (22:44 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
Closes #3188
See merge request GNOME/gtk!2612
Matthias Clasen [Wed, 23 Sep 2020 20:32:48 +0000 (16:32 -0400)]
fontchooser: Don't center the list
The centered layout of the font previews don't look appealing
and make it harder to judge the relative width and weight of
the individual styles.
Fixes: #3188
Balázs Úr [Wed, 23 Sep 2020 15:25:12 +0000 (15:25 +0000)]
Update Hungarian translation
Balázs Úr [Wed, 23 Sep 2020 14:39:40 +0000 (14:39 +0000)]
Update Hungarian translation
Thomas Holder [Tue, 22 Sep 2020 07:27:29 +0000 (09:27 +0200)]
gtktreeview: Fix child access after TEST_EXPAND_ROW
In gtk_tree_view_build_tree with recurse=TRUE, the TEST_EXPAND_ROW
signal might invalidate the child iterator. Getting the iterator after
the signal (instead of before) fixes the issue.
Fixes https://gitlab.com/inkscape/inkscape/-/issues/1879
Matthias Clasen [Wed, 23 Sep 2020 11:47:01 +0000 (11:47 +0000)]
Merge branch 'wip/jimmac/osd-spinbutton' into 'master'
Adwaita: osd spinbutton specificity bump
Closes #2769
See merge request GNOME/gtk!2610
Matthias Clasen [Wed, 23 Sep 2020 11:35:59 +0000 (11:35 +0000)]
Merge branch 'make-claiming-button-release-work' into 'master'
gestures: Make claiming button release work
See merge request GNOME/gtk!2576
Jakub Steiner [Wed, 23 Sep 2020 08:16:55 +0000 (10:16 +0200)]
Adwaita: osd spinbutton specificity bump
- mimic the peculiar selector from the normal style onto osd to
override.
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/2769
Matthias Clasen [Tue, 22 Sep 2020 03:01:38 +0000 (03:01 +0000)]
Merge branch 'improve-columnview-styling' into 'master'
Adwaita: Improve columnview styling
See merge request GNOME/gtk!2608
nana-4 [Tue, 22 Sep 2020 01:40:15 +0000 (10:40 +0900)]
Adwaita: Don't restrict columnview editablelabel style to .data-table
This should be available without .data-table.
nana-4 [Tue, 22 Sep 2020 01:37:04 +0000 (10:37 +0900)]
Adwaita: Improve columnview styling
- Move padding from parent row to child cell.
- Align horizontal sizing of cell with header button.
- Properly support GtkColumnView:show-column-separators.
- Change cell height with and without .data-table.
nana-4 [Tue, 22 Sep 2020 01:35:15 +0000 (10:35 +0900)]
Adwaita: Fix separator color for lists
Matthias Clasen [Mon, 21 Sep 2020 18:11:41 +0000 (18:11 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
See merge request GNOME/gtk!2607
Matthias Clasen [Sun, 20 Sep 2020 16:13:15 +0000 (12:13 -0400)]
inspector: Make switches go back to normal size
Matthias Clasen [Sun, 20 Sep 2020 14:57:19 +0000 (10:57 -0400)]
gtk-demo: Improve the pickers demo
"Two of every kind..." Add some customized pickers
here. This found a number of issues that have been
fixed in the preceding commits.
Matthias Clasen [Sun, 20 Sep 2020 16:03:47 +0000 (12:03 -0400)]
colorbutton: Fix handling of transient parents
When we create the dialog before the button has
been rooted, we need to update its transient
parent when that happens.
Timm Bäder [Mon, 21 Sep 2020 12:20:00 +0000 (12:20 +0000)]
Merge branch 'fix-hover-tracking' into 'master'
main: Update pointer focus state for button releases
Closes #3172
See merge request GNOME/gtk!2601
Marek Černocký [Mon, 21 Sep 2020 06:30:59 +0000 (08:30 +0200)]
Updated Czech translation
Matthias Clasen [Sun, 20 Sep 2020 16:01:52 +0000 (12:01 -0400)]
filechooser: Fix gtk_file_chooser_set_choice
This broke when it was ported to GtkDropDown.
Matthias Clasen [Sun, 20 Sep 2020 14:55:54 +0000 (10:55 -0400)]
fontchooser: Make sure the tweak button is updated
This was showing up as tweak buttons being visible
when they should not. The code probably relied on
widgets being hidden by default (as they were in
GTK3).
Matthias Clasen [Sun, 20 Sep 2020 14:39:24 +0000 (10:39 -0400)]
fontchooser: Handle families without faces
This might seem useless, but I've met fonts
where pango_font_family_get_face (family, NULL)
return NULL. Handle it without criticals.
Matthias Clasen [Sun, 20 Sep 2020 14:58:46 +0000 (10:58 -0400)]
docs: Improve gtk_widget_set_font_map docs
Matthias Clasen [Sun, 20 Sep 2020 14:19:50 +0000 (14:19 +0000)]
Merge branch 'fix-wayland-popups' into 'master'
wayland: Fix grabbing popup
See merge request GNOME/gtk!2604
Matthias Clasen [Sun, 20 Sep 2020 14:02:53 +0000 (10:02 -0400)]
wayland: Fix grabbing popup
A typo snuck into commit
3023a61e1d65bee1db3 that
caused us to fail all grabbing popups with
"grab failed: not viewable". Fix that.
Emin Tufan Çetin [Sun, 20 Sep 2020 06:38:03 +0000 (06:38 +0000)]
Update Turkish translation
Matthias Clasen [Sat, 19 Sep 2020 21:25:32 +0000 (21:25 +0000)]
Merge branch 'kill-widget-new' into 'master'
Drop gtk_widget_new
See merge request GNOME/gtk!2603
Matthias Clasen [Sat, 19 Sep 2020 21:22:30 +0000 (21:22 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
See merge request GNOME/gtk!2602
Matthias Clasen [Sat, 19 Sep 2020 20:58:42 +0000 (16:58 -0400)]
Drop gtk_widget_new
An abstract type should not have a constructor.
If you want to be generic, just use g_object_new.
Matthias Clasen [Sat, 19 Sep 2020 20:47:52 +0000 (16:47 -0400)]
NEWS: Updates
Matthias Clasen [Sat, 19 Sep 2020 20:48:49 +0000 (20:48 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
textbuffer: Redo insert markup a little bit
See merge request GNOME/gtk!2600
Matthias Clasen [Sat, 19 Sep 2020 20:45:56 +0000 (16:45 -0400)]
main: Update pointer focus state for button releases
Failure to do so makes the old pointer focus target
'sticky', because we end up ignoring the result of
picking the pointer focus until a motion event comes
in.
Fixes: #3172
Matthias Clasen [Sat, 19 Sep 2020 20:22:04 +0000 (16:22 -0400)]
shortcutswindow: Drop the Private struct
Matthias Clasen [Sat, 19 Sep 2020 18:41:41 +0000 (14:41 -0400)]
revealer: Drop the Private struct
Matthias Clasen [Sat, 19 Sep 2020 18:36:44 +0000 (14:36 -0400)]
magnifier: Drop the Private struct
Matthias Clasen [Sat, 19 Sep 2020 18:31:02 +0000 (14:31 -0400)]
Cosmetic
Matthias Clasen [Sat, 19 Sep 2020 18:26:48 +0000 (14:26 -0400)]
colorscale: Drop the Private struct
Matthias Clasen [Sat, 19 Sep 2020 18:19:18 +0000 (18:19 +0000)]
Merge branch 'wayland-backend-api-cleanup' into 'master'
wayland: Change backend api to use GdkToplevel
See merge request GNOME/gtk!2598
Matthias Clasen [Sat, 19 Sep 2020 18:17:28 +0000 (14:17 -0400)]
textbuffer: Redo insert markup a little bit
Redo the tag insertion function to avoid quadratic
behavior, and at the same time, fix handling of
alpha for color attributes.
Update the copy of this function in gtk4-demo
as well.
Matthias Clasen [Sat, 19 Sep 2020 18:12:35 +0000 (18:12 +0000)]
Merge branch 'password-entry-activate' into 'master'
Add GtkPasswordEntry::activate
Closes #3174
See merge request GNOME/gtk!2599
Matthias Clasen [Sat, 19 Sep 2020 17:25:03 +0000 (13:25 -0400)]
passwordentry: Add an ::activate signal
GtkSearchEntry has one, no reason why GtkPasswordEntry
should not as well.
Fixes: #3174
Matthias Clasen [Sat, 19 Sep 2020 17:23:40 +0000 (13:23 -0400)]
passwordentry: Drop the Private struct
Matthias Clasen [Sat, 19 Sep 2020 17:13:31 +0000 (13:13 -0400)]
docs: Add missing Wayland backend api
Since Wayland is now our flagship backend,
we should put some effort into the docs.
Matthias Clasen [Sat, 19 Sep 2020 17:05:57 +0000 (13:05 -0400)]
wayland: Change backend api to use GdkToplevel
Most of the surface api we have in the Wayland backend
only makes sense for toplevels, so reshuffle things to
take a GdkToplevel instead of a GdkSurface.
Update all callers and the docs.
Matthias Clasen [Sat, 19 Sep 2020 16:09:24 +0000 (12:09 -0400)]
NEWS: Updates
Matthias Clasen [Sat, 19 Sep 2020 15:49:14 +0000 (15:49 +0000)]
Merge branch 'wip/baedert/radial-gradient' into 'master'
Radial gradients
Closes #2262, #3170, and #3173
See merge request GNOME/gtk!2597
Matthias Clasen [Sat, 19 Sep 2020 15:06:56 +0000 (15:06 +0000)]
Merge branch 'wip/fontchooser-language-filtering' into 'master'
fontchooser: add language filtering
See merge request GNOME/gtk!2551
Matthias Clasen [Sat, 19 Sep 2020 14:44:50 +0000 (10:44 -0400)]
fontchooser: Remove signal handlers in dispose
Avoid ordering issues in dispose by disconnecting
the rows_changed_cb handler first thing.
Matthias Clasen [Sat, 19 Sep 2020 14:25:45 +0000 (10:25 -0400)]
fontchooser: Don't show "No fonts" prematurely
Don't switch to the empty page while we are still busy
filtering. Fonts might yet appear.
Matthias Clasen [Wed, 9 Sep 2020 16:38:35 +0000 (12:38 -0400)]
fontchooser: Use filter language for sample text
When you are asking to only see fonts that support
a given language, you probably want to see the
sample text for that language too.
Matthias Clasen [Tue, 8 Sep 2020 23:51:12 +0000 (19:51 -0400)]
fontchooser: Add user filtering
Add a popover that has filtering options. As a start,
allow filtering by monospace and by language coverage.
Matthias Clasen [Sat, 19 Sep 2020 13:45:17 +0000 (09:45 -0400)]
Improve language names
Shorten a few of the names we pick up by removing
parentheses that make them excessively long.
Matthias Clasen [Sat, 19 Sep 2020 13:26:34 +0000 (13:26 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
win32: Fix compiler warnings
See merge request GNOME/gtk!2596
Matthias Clasen [Sat, 19 Sep 2020 13:19:28 +0000 (13:19 +0000)]
Merge branch 'font-chooser-sample-text' into 'master'
fontchooser: Determine sample text intelligently
See merge request GNOME/gtk!2546
Matthias Clasen [Sat, 19 Sep 2020 12:28:42 +0000 (08:28 -0400)]
win32: Fix compiler warnings
The compiler informs me that GetLastError() return a DWORD,
so use %lx to print it.
Matthias Clasen [Sat, 19 Sep 2020 04:17:43 +0000 (00:17 -0400)]
Try one more time to fix win32 ci
Zander Brown [Sat, 19 Sep 2020 11:42:18 +0000 (11:42 +0000)]
Update British English translation
Timm Bäder [Sat, 19 Sep 2020 06:55:18 +0000 (08:55 +0200)]
cssimageradial: Avoid creating color stops with an offset > 1
Timm Bäder [Sat, 19 Sep 2020 06:44:58 +0000 (08:44 +0200)]
scrolledwindow: Ignore captured motion events if no child is set
Fixes #3173
Matthias Clasen [Tue, 8 Sep 2020 19:14:17 +0000 (15:14 -0400)]
fontchooser: Determine sample text intelligently
Look at the languages supported by a font, and pick
a suitable sample text from the pango list of sample
texts. We can only implement this on platforms using
fontconfig, since it relies on pangofc apis.
This bumps the pango dependency to 1.47.1.
Timm Bäder [Fri, 18 Sep 2020 17:01:10 +0000 (19:01 +0200)]
rendernodes: Clarify color_stops arguments
Timm Bäder [Fri, 18 Sep 2020 16:41:01 +0000 (18:41 +0200)]
gsk: Add docs for radial gradient nodes
Timm Bäder [Fri, 18 Sep 2020 16:29:08 +0000 (18:29 +0200)]
rendernodes: Enfore end > start for radial gradient nodes
Timm Bäder [Fri, 18 Sep 2020 13:26:58 +0000 (15:26 +0200)]
gl renderer: Consolidate color pre-multiplication
Add a common function that tells us what it does and replace all the
manual stuff with it.
Fixes #3170
Timm Bäder [Fri, 18 Sep 2020 12:42:36 +0000 (14:42 +0200)]
gl renderer: Add radial gradient shader
Timm Bäder [Fri, 18 Sep 2020 03:33:16 +0000 (05:33 +0200)]
rendernode: Pull local variable into closest scope
Timm Bäder [Wed, 16 Sep 2020 04:49:38 +0000 (06:49 +0200)]
Inspector: Show radial gradient node info
Timm Bäder [Wed, 16 Sep 2020 03:57:11 +0000 (05:57 +0200)]
gl renderer: Set an error if we don't have one already
We can't fail and not set the error, since caller don't expect that.
Timm Bäder [Wed, 16 Sep 2020 03:02:07 +0000 (05:02 +0200)]
radial gradients: Allow 0 start/end values
Timm Bäder [Tue, 15 Sep 2020 04:20:56 +0000 (06:20 +0200)]
gsk: Parse radial gradient nodes